home *** CD-ROM | disk | FTP | other *** search
- ;+
- ; Edit History
- ;
- ; Sep-05-90 ml. Definitions of constants for the IDE disk interface
- ; (wrt PrairieTek 120 drive.)
- ;-
-
-
-
- ; Command codes for IDE disk interface
-
- RECAL equ $10 ; Recalibrate
- READ equ $20 ; Read Sector(s)
- WRITE equ $30 ; Write Sector(s)
- VERIFY equ $40 ; Read Verify Sector(s)
- FMTTRK equ $50 ; Format Track
- SEEK equ $70 ; Seek
- DIAG equ $90 ; Execute Drive Diagnostic
- INITPARM equ $91 ; Initialize Drive Parameters
- RSBUF equ $e4 ; Read Sector Buffer
- WSBUF equ $e8 ; Write Sector Buffer
- IDENTIFY equ $ec ; Identify Drive
- ; Standby Commands
- STANDBY equ $e0 ; go to STANDBY mode
- ACTIVE equ $e1 ; go to ACTIVE mode
- SBWTO equ $e2 ; StandBy mode With Time-Out
- AWTO equ $e3 ; Active mode With Time-Out
- SSC equ $e5 ; Set Sector Count wrt current mode
- SBRES equ $e6 ; StandBy until RESet
-
-
-
- ; Command Modifiers
-
- NO_RETRIES equ $01 ; no retries
- LCMD equ $02 ; long command
-
-
-
- ; Time-outs
- D_WORST equ 2000 ; worst case delay (10s)
-
-
-
- ; IDE disk interface I/O locations for Read functions
-
- bIDE equ $FFF00000+REGBASE ; base address
-
- IDEDR equ bIDE-REGBASE+($00*REGLSTEP); Data Register (16-bit reg)
- IDEER equ bIDE+($01*REGLSTEP) ; Error Register
- IDESC equ bIDE+($02*REGLSTEP) ; Sector Count
- IDESN equ bIDE+($03*REGLSTEP) ; Sector Number
- IDECL equ bIDE+($04*REGLSTEP) ; Cylinder Low
- IDECH equ bIDE+($05*REGLSTEP) ; Cylinder High (2 bits)
- IDESDH equ bIDE+($06*REGLSTEP) ; SDH register
- IDESR equ bIDE+($07*REGLSTEP) ; Status Register
- IDEASR equ bIDE+($0E*REGLSTEP) ; Alternate Status Register
- IDEDAR equ bIDE+($0F*REGLSTEP) ; Drive Address Register
-
-
-
- ; IDE disk interface I/O locations for Write functions
-
- ;IDEDR equ bIDE-REGBASE+($00*REGLSTEP); Data Register (16-bit reg)
- IDEWPR equ bIDE+($01*REGLSTEP) ; Write Precomp Register (not used)
- ;IDESC equ bIDE+($02*REGLSTEP) ; Sector Count
- ;IDESN equ bIDE+($03*REGLSTEP) ; Sector Number
- ;IDECL equ bIDE+($04*REGLSTEP) ; Cylinder Low
- ;IDECH equ bIDE+($05*REGLSTEP) ; Cylinder High (2 bits)
- ;IDESDH equ bIDE+($06*REGLSTEP) ; SDH register
- IDECR equ bIDE+($07*REGLSTEP) ; Command Register
- IDEDOR equ bIDE+($0E*REGLSTEP) ; Digital Output Register
-
-
-
- ; Byte offset from beginning of buffer return by the Identify command
-
- NCYL equ 2 ; offset to # of fixed cylinders
- NHEAD equ 6 ; offset to # of heads
- NSPT equ 12 ; offset to # of physical sectors/track
- MDLNUM equ 54 ; offset to model number of drive
- EMDL equ 94 ; offset to end of model number
- CONMDL equ MDLNUM+26 ; offset to Conner's model number
- CPNCYL equ 260 ; offset to # of cylinders (Conner)
- CPNHEAD equ 262 ; offset to # of heads (Conner)
- CPNSPT equ 263 ; offset to # of sectors/track (Conner)
-
- ; Default drive parameters of Conner Peripherals - CP2024
- CP20NCYL equ 615 ; # of cylinders
- CP20NHEAD equ 4 ; # of heads
- CP20NSPT equ 17 ; # of sectors/track
-
-
- ; Address of the Programmable Sound Generator Port A
-
- PSGA equ $ffff8802
- IDERST equ 6
-
- .if !DRIVER
-
- IDERDY equ 1000 ; delay to wait for IDE drive to be ready
-
- .endif ;DRIVER
-